package com.xuanyang.dormrepair.model.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.xuanyang.dormrepair.model.enums.RepairStatus;
import lombok.Data;
import lombok.experimental.Accessors;

import java.util.Date;

/**
 * @author 
 */
@Data
@Accessors(chain = true)
@TableName(value = "repairs", resultMap = "com.xuanyang.dormrepair.model.mapper.RepairsMapper.joinMaintainer")
public class Repairs {
    @TableId
    private Integer id;

    private Integer floorId;  // 报修人的楼号账号id

    private String houseNo;  // 报修人楼号

    private String roomNo;   // 报修人的房间号

    /**
     * 报修人姓名 默认登录者
     */
    private String name;

    /**
     * 报修人联系电话 默认登录者的
     */
    private String tel;

    /**
     * 故障类型
     */
    private String type;

    /**
     * 故障描述 说明
     */
    private String explains;

    /**
     * 预约开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    private Date startTime;

    /**
     * 预约结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    private Date endTime;

    /**
     * 报修状态 接单没 修改没 评价没
     */
    private RepairStatus status;

    /**
     * 报修时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    private Date datetime;

    private Integer maintainerId; // 接单工人id

    @TableField(exist = false)
    private Maintainer maintainer;

    /**
     * 维修报告
     */
    private String report;

    /**
     * 维修报告时间 修好时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    private Date reportTime;

    /**
     * 维修评价
     */
    private String comment;

    private Integer commentGrade; // 评价等级

    /**
     * 评价时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    private Date commentTime;
}